home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 6
/
The Arsenal Files 6 (Arsenal Computer).ISO
/
pcboard
/
cobs_110.zip
/
COBS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-01-10
|
21KB
|
1,094 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer TINTEGER004(25)
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String TSTRING019(10)
String TSTRING020(25)
String TSTRING021(25)
String STRING022
String TSTRING023(25)
String TSTRING024(10)
String TSTRING025(10)
String TSTRING026(20)
String STRING027
String STRING028
String STRING029
Declare Procedure PROC001(Boolean BOOLEAN001)
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005()
Declare Procedure PROC006()
Declare Procedure PROC007()
Declare Procedure PROC008()
Declare Procedure PROC009()
Declare Procedure PROC010()
Declare Procedure PROC011()
Declare Procedure PROC012()
Declare Procedure PROC013()
;------------------------------------------------------------------------------
STRING002 = Chr(67) + Chr(79) + Chr(66) + Chr(83)
STRING003 = Chr(118) + Chr(49) + Chr(46) + Chr(49) + Chr(48)
STRING004 = Chr(67) + Chr(117) + Chr(115) + Chr(116) + Chr(111) + Chr(109) + Chr(32) + Chr(79) + Chr(110) + Chr(108) + Chr(105) + Chr(110) + Chr(101) + Chr(32) + Chr(66) + Chr(97) + Chr(110) + Chr(107) + Chr(105) + Chr(110) + Chr(103) + Chr(32) + Chr(83) + Chr(121) + Chr(115) + Chr(116) + Chr(101) + Chr(109) + Chr(32) + Chr(80) + Chr(80) + Chr(69)
STRING028 = "If you have suggestions or requests for permanent or optional features,"
STRING029 = "please send mail to <mslasher@io.org>. - Rob Hunter / COBS (c)1994-95 "
STRING006 = PPEPath() + STRING002 + "." + "D" + "A" + "T"
STRING007 = PPEPath() + STRING002 + "." + "D" + "S" + "P"
STRING008 = PPEPath() + STRING002 + "." + "P" + "M" + "T"
STRING005 = PPEPath() + STRING002 + "." + "E" + "X" + "T"
INTEGER009 = Date()
INTEGER003 = 1
STRING018 = "OFF"
INTEGER002 = 10
GetUser
If (Psa(6)) Goto LABEL001
Newline
PrintLn STRING002 + " " + STRING003 + " Error: PSA: PCBNOTES is not present in user file!"
Log "
" + STRING002 + " " + STRING003 + "
[PSA Error]", 0
PROC001(0)
:LABEL001
FOpen 4, ReadLine(PCBDat(), 32), 0, 0
FClose -1
:LABEL002
If (Ferr(4)) Goto LABEL003
FGet 4, STRING012
If (Left(Right(STRING012, Len(STRING012) - InStr(STRING012, ",")), Len(U_Sec)) == U_Sec) Then
STRING012 = Right(STRING012, Len(STRING012) - InStr(STRING012, ","))
STRING012 = Right(STRING012, Len(STRING012) - InStr(STRING012, ","))
STRING012 = Right(STRING012, Len(STRING012) - InStr(STRING012, ","))
TINTEGER004(13) = Left(STRING012, InStr(STRING012, ",") - 1)
Endif
Goto LABEL002
:LABEL003
FClose 4
STRING027 = "
" + STRING002 + " " + STRING003 + "
["
Log STRING027 + Left(Time(), 5) + " / " + String(MinLeft()) + " / " + String(TINTEGER004(16)) + "]", 0
If (Exist(STRING006)) Then
FOpen 1, STRING006, 0, 0
FGet 1, INTEGER003
If ((INTEGER003 < 0) || (INTEGER003 > 5)) INTEGER003 = 1
FGet 1, INTEGER002
If (INTEGER002 == "") INTEGER002 = 10
:LABEL004
If (Ferr(1)) Goto LABEL005
FGet 1, STRING011
If (Left(STRING011, 1) == " ") Goto LABEL005
If (Left(STRING011, Len(U_Sec)) == U_Sec) Then
STRING011 = Right(STRING011, Len(STRING011) - InStr(STRING011, ","))
TINTEGER004(1) = Left(STRING011, InStr(STRING011, ",") - 1)
STRING011 = Right(STRING011, Len(STRING011) - InStr(STRING011, ","))
TINTEGER004(2) = Left(STRING011, InStr(STRING011, ",") - 1)
STRING011 = Right(STRING011, Len(STRING011) - InStr(STRING011, ","))
TINTEGER004(3) = Left(STRING011, InStr(STRING011, ",") - 1)
STRING011 = Right(STRING011, Len(STRING011) - InStr(STRING011, ","))
TINTEGER004(14) = Left(STRING011, InStr(STRING011, ",") - 1)
STRING011 = Right(STRING011, Len(STRING011) - InStr(STRING011, ","))
TINTEGER004(4) = Left(STRING011, InStr(STRING011, ",") - 1)
STRING011 = Right(STRING011, Len(STRING011) - InStr(STRING011, ","))
TINTEGER004(5) = Left(STRING011, InStr(STRING011, ",") - 1)
STRING011 = Right(STRING011, Len(STRING011) - InStr(STRING011, ","))
TINTEGER004(6) = Left(STRING011, InStr(STRING011, ",") - 1)
STRING011 = Right(STRING011, Len(STRING011) - InStr(STRING011, ","))
TINTEGER004(15) = STRING011
Endif
Goto LABEL004
:LABEL005
FClose 1
PROC004()
If (TINTEGER004(1) == "") Then
Endif
Newline
PrintLn "@X04[@X0C" + STRING002 + " " + STRING003 + " " + "E" + "rr" + "or@X04] @X07Configuration File Error!"
Newline
PrintLn "@X07The configuration file either does not exist, or your security level doesn't"
PrintLn "@X07contain any configuration information. Please inform your system operator!"
Newline
Log STRING027 + "Error]", 0
PROC001(0)
Endif
Newline
Print "[" + STRING002 + " " + STRING003 + "] " + "@X0F" + STRING004 + " is loading ... "
Delay 5
Backup 80
ClrEol
STRING013 = U_Notes(INTEGER003 - 1)
If (Left(STRING013, 3) <> "MS[") Then
STRING013 = "MS[ 0|" + Right(String(INTEGER009), 5) + "| 0|" + Right(String(INTEGER009), 5) + "| 0| 0|" + Right(String(INTEGER009), 5) + "| 0|" + Right(String(INTEGER009), 5) + "| 0]"
U_Notes(INTEGER003 - 1) = STRING013
PutUser
Endif
STRING013 = Right(STRING013, 57)
TINTEGER004(7) = LTrim(Left(STRING013, 3), " ")
If (TINTEGER004(7) > TINTEGER004(1)) TINTEGER004(7) = TINTEGER004(1)
STRING013 = Right(STRING013, 53)
INTEGER005 = Left(STRING013, 5)
STRING013 = Right(STRING013, 47)
TINTEGER004(8) = LTrim(Left(STRING013, 3), " ")
If (INTEGER005 <> INTEGER009) TINTEGER004(8) = 0
STRING013 = Right(STRING013, 43)
INTEGER007 = Left(STRING013, 5)
STRING013 = Right(STRING013, 37)
TINTEGER004(9) = LTrim(Left(STRING013, 3), " ")
If (INTEGER007 <> INTEGER009) TINTEGER004(9) = 0
STRING013 = Right(STRING013, 33)
TINTEGER004(10) = LTrim(Left(STRING013, 6), " ")
If (TINTEGER004(10) > TINTEGER004(4)) TINTEGER004(10) = TINTEGER004(4)
STRING013 = Right(STRING013, 26)
INTEGER006 = Left(STRING013, 5)
STRING013 = Right(STRING013, 20)
TINTEGER004(11) = LTrim(Left(STRING013, 6), " ")
If (INTEGER006 <> INTEGER009) TINTEGER004(11) = 0
STRING013 = Right(STRING013, 13)
INTEGER008 = Left(STRING013, 5)
STRING013 = Right(STRING013, 7)
TINTEGER004(12) = LTrim(Left(STRING013, 6), " ")
If (INTEGER008 <> INTEGER009) TINTEGER004(12) = 0
TINTEGER004(16) = TINTEGER004(13) - U_BdlDay() / 1024
TINTEGER004(17) = RTrim(Left(MinLeft(), 3), " ")
PROC009()
PROC010()
PROC012()
PROC013()
TSTRING024(1) = "Bank Command?"
TSTRING025(2) = "[Max: @COBS18@] Deposit how many minutes?"
TSTRING025(3) = "[Max: @COBS19@] Withdraw how many minutes?"
TSTRING025(4) = "[Max: @COBS22@min/Turn] Gamble how many minutes?"
TSTRING025(5) = "[Max: @COBS20@] Deposit how many kilobytes?"
TSTRING025(6) = "[Max: @COBS21@] Withdraw how many kilobytes?"
TSTRING025(7) = "[Max: @COBS23@k/Turn] Gamble how many kilobytes?"
TSTRING026(1) = "Invalid deposit amount ..."
TSTRING026(2) = "Invalid withdrawl amount ..."
TSTRING026(3) = "Invalid gamble amount ..."
TSTRING026(4) = "Depositing amount into your account ..."
TSTRING026(5) = "Withdrawing amount from your account ..."
TSTRING026(6) = "WINNER! - Adding amount to your online record ..."
TSTRING026(7) = "LOSER! - Removing amount from your online record ..."
TSTRING026(8) = "Sorry, you can not deposit any more ..."
TSTRING026(9) = "Sorry, you can not withdraw any more ..."
TSTRING026(10) = "Sorry, you must have atleast 2 minutes to gamble ..."
TSTRING026(11) = "Sorry, an event is pending. Can not increase online time ..."
TSTRING026(12) = "Sorry, you must have a positive online KByte balance to gamble ..."
TSTRING019(1) = "DT"
TSTRING019(2) = "WT"
TSTRING019(3) = "GT"
TSTRING019(4) = "DB"
TSTRING019(5) = "WB"
TSTRING019(6) = "GB"
If (Exist(STRING008)) PROC003()
For INTEGER001 = 1 To 6
If ((Len(TSTRING019(INTEGER001)) > STRING010) && (TSTRING019(INTEGER001) <> "OFF")) STRING010 = Len(TSTRING019(INTEGER001))
Next
If (Exist(STRING007)) Goto LABEL006
PROC005()
Goto LABEL009
:LABEL006
Cls
FOpen 2, STRING007, 0, 0
:LABEL007
If (Ferr(2)) Goto LABEL008
FGet 2, STRING014
If (STRING014 == "") Goto LABEL008
If (InStr(STRING014, "@COBS") <> 0) Then
While (InStr(STRING014, "@COBS") <> 0) Do
Print Left(STRING014, InStr(STRING014, "@COBS") - 1)
STRING014 = Right(STRING014, Len(STRING014) - InStr(STRING014, "@COBS") + 4)
STRING015 = Left(STRING014, InStr(STRING014, "@") - 1)
If ((((STRING015 > 3) && (STRING015 < 7)) || ((STRING015 > 9) && (STRING015 < 14))) || ((STRING015 > 14) && (STRING015 < 17))) Then
TSTRING023(STRING015) = String(CurColor())
TSTRING020(STRING015) = String(GetX())
TSTRING021(STRING015) = String(GetY())
Print String(TINTEGER004(STRING015)) + Space(6 - Len(TINTEGER004(STRING015)))
Else
TSTRING023(STRING015) = String(CurColor())
TSTRING020(STRING015) = String(GetX())
TSTRING021(STRING015) = String(GetY())
Print String(TINTEGER004(STRING015)) + Space(3 - Len(TINTEGER004(STRING015)))
Endif
STRING014 = Right(STRING014, Len(STRING014) - InStr(STRING014, "@"))
EndWhile
Print STRING014
Newline
Else
PrintLn STRING014
Endif
Goto LABEL007
:LABEL008
FClose 2
:LABEL009
STRING022 = GetY()
:LABEL010
PROC011()
PROC002()
STRING017 = ""
InputStr TSTRING024(1) + " _", STRING017, 7, STRING010, String(TSTRING019(1)) + String(TSTRING019(2)) + String(TSTRING019(3)) + String(TSTRING019(4)) + String(TSTRING019(5)) + String(TSTRING019(6)), 32 + 8
Select Case (STRING017)
Case STRING018
Goto LABEL010
Case TSTRING019(1)
Goto LABEL011
Case TSTRING019(2)
Goto LABEL012
Case TSTRING019(3)
Goto LABEL014
Case TSTRING019(4)
Goto LABEL015
Case TSTRING019(5)
Goto LABEL018
Case TSTRING019(6)
Goto LABEL021
Case ""
Goto LABEL010
End Select
DefColor
If (Exist(STRING005)) DispFile STRING005, 0
PROC001(1)
:LABEL011
If (((MinLeft() < 3) || (TINTEGER004(7) >= TINTEGER004(1))) || (((INTEGER005 == INTEGER009) && (TINTEGER004(2) <> 0)) && (TINTEGER004(2) == TINTEGER004(8)))) Then
Print TSTRING026(8)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Endif
PROC009()
STRING016 = ""
InputStr TSTRING024(2) + " _", STRING016, 7, Len(TINTEGER004(1)), Mask_Num(), 32
If (STRING016 == "") Goto LABEL010
If (STRING016 > MinLeft() - 2) Then
PROC007()
Goto LABEL010
Endif
If (TINTEGER004(2) <> 0) Then
If ((((INTEGER005 == INTEGER009) && (STRING016 + TINTEGER004(8) > TINTEGER004(2) + TINTEGER004(9))) || (STRING016 > TINTEGER004(2) + TINTEGER004(9))) || (STRING016 + TINTEGER004(7) > TINTEGER004(1))) Then
PROC007()
Goto LABEL010
Else
PROC008()
Goto LABEL010
Endif
ElseIf (TINTEGER004(7) + STRING016 > TINTEGER004(1)) Then
PROC007()
Goto LABEL010
Else
PROC008()
Goto LABEL010
Endif
Goto LABEL010
:LABEL012
If ((TINTEGER004(7) == 0) || (((INTEGER007 == INTEGER009) && (TINTEGER004(3) <> 0)) && (TINTEGER004(3) == TINTEGER004(9)))) Then
Print TSTRING026(9)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Endif
If (EvtTimeAdj()) Then
Print TSTRING026(11)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Endif
PROC010()
STRING016 = ""
InputStr TSTRING024(3) + " _", STRING016, 7, Len(TINTEGER004(1)), Mask_Num(), 32
If (STRING016 == "") Goto LABEL010
If (TINTEGER004(3) <> 0) Then
If ((((INTEGER007 == INTEGER009) && (STRING016 + TINTEGER004(9) > TINTEGER004(3) + TINTEGER004(8))) || (STRING016 > TINTEGER004(3) + TINTEGER004(8))) || (TINTEGER004(7) - STRING016 < 0)) Then
PROC006()
Goto LABEL010
Else
Gosub LABEL013
Goto LABEL010
Endif
ElseIf (STRING016 > TINTEGER004(7)) Then
PROC006()
Goto LABEL010
Else
Gosub LABEL013
Goto LABEL010
Endif
Goto LABEL010
:LABEL013
Log STRING027 + "T-W: " + String(STRING016) + "]", 0
Print TSTRING026(5)
AdjTime STRING016
TINTEGER004(17) = RTrim(Left(MinLeft(), 3), " ")
TINTEGER004(7) = TINTEGER004(7) - STRING016
If (INTEGER007 == INTEGER009) Then
TINTEGER004(9) = TINTEGER004(9) + STRING016
Else
INTEGER007 = INTEGER009
TINTEGER004(9) = STRING016
Endif
If (INTEGER005 == INTEGER009) Then
TINTEGER004(9) = TINTEGER004(9) - TINTEGER004(8)
If (TINTEGER004(9) < 0) TINTEGER004(9) = 0
Endif
If (TINTEGER004(8) - STRING016 < 0) Then
TINTEGER004(8) = 0
Else
TINTEGER004(8) = TINTEGER004(8) - STRING016
Endif
If ((TSTRING020(7) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(7), TSTRING021(7)
Color TSTRING023(7)
Print Left(TINTEGER004(7), 3)
Endif
If ((TSTRING020(8) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(8), TSTRING021(8)
Color TSTRING023(8)
Print Left(TINTEGER004(8), 3)
Endif
If ((TSTRING020(9) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(9), TSTRING021(9)
Color TSTRING023(9)
Print Left(TINTEGER004(9), 3)
Endif
If ((TSTRING020(17) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(17), TSTRING021(17)
Color TSTRING023(17)
Print Left(TINTEGER004(17), 3)
Endif
AnsiPos 1, STRING022
Delay INTEGER002
DefColor
ClrEol
Return
:LABEL014
If (MinLeft() < 3) Then
Print TSTRING026(10)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Endif
If (EvtTimeAdj()) Then
Print TSTRING026(11)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Endif
If (MinLeft() - 2 < TINTEGER004(14)) Then
TSTRING024(4) = ReplaceStr(TSTRING025(4), "@COBS22@", String(MinLeft() - 2))
Else
TSTRING024(4) = ReplaceStr(TSTRING025(4), "@COBS22@", String(TINTEGER004(14)))
Endif
STRING016 = ""
InputStr TSTRING024(4) + " _", STRING016, 7, Len(TINTEGER004(14)), Mask_Num(), 32
If (STRING016 == "") Goto LABEL010
If ((STRING016 > MinLeft() - 2) || (STRING016 > TINTEGER004(14))) Then
Print TSTRING026(3)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Else
If (Random(1)) Then
Log STRING027 + "T-G: W" + String(STRING016) + "]", 0
Print TSTRING026(6)
AdjTime STRING016
Else
Log STRING027 + "T-G: L" + String(STRING016) + "]", 0
Print TSTRING026(7)
AdjTime -STRING016
Endif
TINTEGER004(17) = MinLeft()
If ((TSTRING020(17) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(17), TSTRING021(17)
Color TSTRING023(17)
Print Left(TINTEGER004(17), 3)
Endif
AnsiPos 1, STRING022
Delay INTEGER002
DefColor
ClrEol
Goto LABEL010
Endif
Goto LABEL010
:LABEL015
If (((TINTEGER004(16) <= 0) || (TINTEGER004(10) >= TINTEGER004(4))) || (((INTEGER006 == INTEGER009) && (TINTEGER004(5) <> 0)) && (TINTEGER004(5) == TINTEGER004(11)))) Then
Print TSTRING026(8)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Endif
PROC012()
STRING016 = ""
InputStr TSTRING024(5) + " _", STRING016, 7, Len(TINTEGER004(4)), Mask_Num(), 32
If (STRING016 == "") Goto LABEL010
If (TINTEGER004(5) <> 0) Then
If (((((INTEGER006 == INTEGER009) && (STRING016 + TINTEGER004(11) > TINTEGER004(5) + TINTEGER004(12))) || (STRING016 > TINTEGER004(5) + TINTEGER004(12))) || (STRING016 + TINTEGER004(10) > TINTEGER004(4))) || (STRING016 > TINTEGER004(16))) Then
Gosub LABEL016
Goto LABEL010
Else
Gosub LABEL017
Goto LABEL010
Endif
ElseIf ((TINTEGER004(10) + STRING016 > TINTEGER004(4)) || (STRING016 > TINTEGER004(16))) Then
Gosub LABEL016
Goto LABEL010
Else
Gosub LABEL017
Goto LABEL010
Endif
Goto LABEL010
:LABEL016
Print TSTRING026(1)
Delay INTEGER002
Backup 80
ClrEol
Return
:LABEL017
Log STRING027 + "B-D: " + String(STRING016) + "]", 0
Print TSTRING026(4)
AdjDBytes STRING016 * 1024
TINTEGER004(16) = TINTEGER004(16) - STRING016
TINTEGER004(10) = TINTEGER004(10) + STRING016
If (INTEGER006 == INTEGER009) Then
TINTEGER004(11) = TINTEGER004(11) + STRING016
Else
INTEGER006 = INTEGER009
TINTEGER004(11) = STRING016
Endif
If (INTEGER008 == INTEGER009) Then
TINTEGER004(11) = TINTEGER004(11) - TINTEGER004(12)
If (TINTEGER004(11) < 0) TINTEGER004(11) = 0
Endif
If (TINTEGER004(12) - STRING016 < 0) Then
TINTEGER004(12) = 0
Else
TINTEGER004(12) = TINTEGER004(12) - STRING016
Endif
If ((TSTRING020(10) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(10), TSTRING021(10)
Color TSTRING023(10)
Print Left(TINTEGER004(10), 6)
Endif
If ((TSTRING020(11) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(11), TSTRING021(11)
Color TSTRING023(11)
Print Left(TINTEGER004(11), 6)
Endif
If ((TSTRING020(12) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(12), TSTRING021(12)
Color TSTRING023(12)
Print Left(TINTEGER004(12), 6)
Endif
If ((TSTRING020(16) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(16), TSTRING021(16)
Color TSTRING023(16)
Print Left(TINTEGER004(16), 6)
Endif
AnsiPos 1, STRING022
Delay INTEGER002
DefColor
ClrEol
Return
:LABEL018
If ((TINTEGER004(10) == 0) || (((INTEGER008 == INTEGER009) && (TINTEGER004(6) <> 0)) && (TINTEGER004(6) == TINTEGER004(12)))) Then
Print TSTRING026(9)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Endif
PROC013()
STRING016 = ""
InputStr TSTRING024(6) + " _", STRING016, 7, Len(TINTEGER004(4)), Mask_Num(), 32
If (STRING016 == "") Goto LABEL010
If (TINTEGER004(6) <> 0) Then
If ((((INTEGER008 == INTEGER009) && (STRING016 + TINTEGER004(12) > TINTEGER004(6) + TINTEGER004(11))) || (STRING016 > TINTEGER004(6) + TINTEGER004(11))) || (TINTEGER004(10) - STRING016 < 0)) Then
Gosub LABEL019
Goto LABEL010
Else
Gosub LABEL020
Goto LABEL010
Endif
ElseIf (STRING016 > TINTEGER004(10)) Then
Gosub LABEL019
Goto LABEL010
Else
Gosub LABEL020
Goto LABEL010
Endif
Goto LABEL010
:LABEL019
Print TSTRING026(2)
Delay INTEGER002
Backup 80
ClrEol
Return
:LABEL020
Log STRING027 + "B-W: " + String(STRING016) + "]", 0
Print TSTRING026(5)
AdjDBytes -STRING016 * 1024
TINTEGER004(16) = TINTEGER004(16) + STRING016
TINTEGER004(10) = TINTEGER004(10) - STRING016
If (INTEGER008 == INTEGER009) Then
TINTEGER004(12) = TINTEGER004(12) + STRING016
Else
INTEGER008 = INTEGER009
TINTEGER004(12) = STRING016
Endif
If (INTEGER006 == INTEGER009) Then
TINTEGER004(12) = TINTEGER004(12) - TINTEGER004(11)
If (TINTEGER004(12) < 0) TINTEGER004(12) = 0
Endif
If (TINTEGER004(11) - STRING016 < 0) Then
TINTEGER004(11) = 0
Else
TINTEGER004(11) = TINTEGER004(11) - STRING016
Endif
If ((TSTRING020(10) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(10), TSTRING021(10)
Color TSTRING023(10)
Print Left(TINTEGER004(10), 6)
Endif
If ((TSTRING020(11) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(11), TSTRING021(11)
Color TSTRING023(11)
Print Left(TINTEGER004(11), 6)
Endif
If ((TSTRING020(12) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(12), TSTRING021(12)
Color TSTRING023(12)
Print Left(TINTEGER004(12), 6)
Endif
If ((TSTRING020(16) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(16), TSTRING021(16)
Color TSTRING023(16)
Print Left(TINTEGER004(16), 6)
Endif
AnsiPos 1, STRING022
Delay INTEGER002
DefColor
ClrEol
Return
:LABEL021
If (TINTEGER004(16) == 0) Then
Print TSTRING026(12)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Endif
If (TINTEGER004(16) < TINTEGER004(15)) Then
TSTRING024(7) = ReplaceStr(TSTRING025(7), "@COBS23@", String(TINTEGER004(16)))
Else
TSTRING024(7) = ReplaceStr(TSTRING025(7), "@COBS23@", String(TINTEGER004(15)))
Endif
STRING016 = ""
InputStr TSTRING024(7) + " _", STRING016, 7, Len(TINTEGER004(15)), Mask_Num(), 32
If (STRING016 == "") Goto LABEL010
If ((STRING016 > TINTEGER004(15)) || (STRING016 > TINTEGER004(16))) Then
Print TSTRING026(3)
Delay INTEGER002
Backup 80
ClrEol
Goto LABEL010
Else
If (Random(1)) Then
Log STRING027 + "B-G: W" + String(STRING016) + "]", 0
Print TSTRING026(6)
AdjDBytes -STRING016 * 1024
TINTEGER004(16) = TINTEGER004(16) + STRING016
Else
Log STRING027 + "B-G: L" + String(STRING016) + "]", 0
Print TSTRING026(7)
AdjDBytes STRING016 * 1024
TINTEGER004(16) = TINTEGER004(16) - STRING016
Endif
If ((TSTRING020(16) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(16), TSTRING021(16)
Color TSTRING023(16)
Print Left(TINTEGER004(16), 6)
Endif
AnsiPos 1, STRING022
Delay INTEGER002
DefColor
ClrEol
Goto LABEL010
Endif
Goto LABEL010
End
;------------------------------------------------------------------------------
Procedure PROC005()
Cls
Newline
PrintLn "@X7F█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X78▄@X07"
PrintLn "@X7F█ ┌─TIME─BANK─@X78(@X7FMINUTES@X78)@X7F────────@X70┐ @X7F┌─BYTE─BANK─@X78(@X7FKILOBYTES@X78)@X7F──────────@X70┐ @X78█@X07"
PrintLn "@X7F█ ├────────────────────────────@X70┤ @X7F├────────────────────────────────@X70┤ @X78█@X07"
PrintLn "@X7F█ │ @X70Description .... │Max!│Your│ @X7F│ @X70Description .... │ Max! │ Your │ @X78█@X07"
PrintLn "@X7F█ │──────────────────@X70│@X7F────@X70│@X7F────@X70│ @X7F│──────────────────@X70│@X7F──────@X70│@X7F──────@X70│ @X78█@X07"
PrintLn "@X7F█ │ @X78Bank Storage ... @X70│ " + Left(String(TINTEGER004(1)), 3) + "│ " + Left(String(TINTEGER004(7)), 3) + "│ @X7F│ @X78Bank Storage ... @X70│" + Left(String(TINTEGER004(4)), 6) + "│" + Left(String(TINTEGER004(10)), 6) + "│ @X78█@X07"
PrintLn "@X7F█ │ @X78Deposit / Day . @X70│ " + Left(String(TINTEGER004(2)), 3) + "│ " + Left(String(TINTEGER004(8)), 3) + "│ @X7F│ @X78Deposit / Day . @X70│" + Left(String(TINTEGER004(5)), 6) + "│" + Left(String(TINTEGER004(11)), 6) + "│ @X78█@X07"
PrintLn "@X7F█ │ @X78Withdraw / Day . @X70│ " + Left(String(TINTEGER004(3)), 3) + "│ " + Left(String(TINTEGER004(9)), 3) + "│ @X7F│ @X78Withdraw / Day . @X70│" + Left(String(TINTEGER004(6)), 6) + "│" + Left(String(TINTEGER004(12)), 6) + "│ @X78█@X07"
PrintLn "@X7F█ │ @X78Time Left Online @X70│ │ " + Left(String(TINTEGER004(17)), 3) + "│ @X7F│ @X78Bytes Left Today @X70│ │" + Left(String(TINTEGER004(16)), 6) + "│ @X78█@X07"
PrintLn "@X7F█ └@X70────────────────────────────┘ @X7F└@X70────────────────────────────────┘ @X78█@X07"
PrintLn "@X7F█ ┌───────────────────────────────────────────────────────────────@X70┐ @X78█@X07"
PrintLn "@X7F█ │ [@X71WT@X70] @X78Withdraw Time @X7F[@X71WB@X70] @X78Withdraw K-Bytes @X7F[@X71GT@X70] @X78Gamble Time @X70│ @X78█@X07"
PrintLn "@X7F█ │ [@X71DT@X70] @X78Deposit Time @X7F[@X71DB@X70] @X78Deposit K-Bytes @X7F[@X71GB@X70] @X78Gamble K-Bytes@X70│ @X78█@X07"
PrintLn "@X7F█ └@X70───────────────────────────────────────────────────────────────┘ @X78█@X07"
PrintLn "▀@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
TSTRING020(1) = 24
TSTRING021(1) = 7
TSTRING020(2) = 24
TSTRING021(2) = 8
TSTRING020(3) = 24
TSTRING021(3) = 9
TSTRING020(4) = 54
TSTRING021(4) = 7
TSTRING020(5) = 54
TSTRING021(5) = 8
TSTRING020(6) = 54
TSTRING021(6) = 9
TSTRING020(7) = 29
TSTRING021(7) = 7
TSTRING020(8) = 29
TSTRING021(8) = 8
TSTRING020(9) = 29
TSTRING021(9) = 9
TSTRING020(10) = 61
TSTRING021(10) = 7
TSTRING020(11) = 61
TSTRING021(11) = 8
TSTRING020(12) = 61
TSTRING021(12) = 9
TSTRING020(16) = 61
TSTRING021(16) = 10
TSTRING020(17) = 29
TSTRING021(17) = 10
For INTEGER001 = 1 To 20
TSTRING023(INTEGER001) = 112
Next
EndProc
;------------------------------------------------------------------------------
Procedure PROC009()
TINTEGER004(18) = MinLeft() - 2
If (MinLeft() - 2 > TINTEGER004(1) - TINTEGER004(7)) TINTEGER004(18) = TINTEGER004(1) - TINTEGER004(7)
If (TINTEGER004(2) <> 0) Then
If (INTEGER005 == INTEGER009) Then
If (TINTEGER004(18) > TINTEGER004(2) - TINTEGER004(8)) TINTEGER004(18) = TINTEGER004(2) - TINTEGER004(8) + TINTEGER004(9)
Goto LABEL022
Endif
If (TINTEGER004(18) > TINTEGER004(2)) TINTEGER004(18) = TINTEGER004(2) + TINTEGER004(9)
Endif
:LABEL022
If (TINTEGER004(18) + TINTEGER004(7) > TINTEGER004(1)) TINTEGER004(18) = TINTEGER004(1) - TINTEGER004(7)
TSTRING024(2) = ReplaceStr(TSTRING025(2), "@COBS18@", String(TINTEGER004(18)))
EndProc
;------------------------------------------------------------------------------
Procedure PROC010()
TINTEGER004(19) = TINTEGER004(7)
If (TINTEGER004(3) <> 0) Then
If (INTEGER007 == INTEGER009) Then
If (TINTEGER004(19) > TINTEGER004(3) - TINTEGER004(9)) TINTEGER004(19) = TINTEGER004(3) - TINTEGER004(9) + TINTEGER004(8)
Goto LABEL023
Endif
If (TINTEGER004(19) > TINTEGER004(3)) TINTEGER004(19) = TINTEGER004(3) + TINTEGER004(8)
Endif
:LABEL023
If (TINTEGER004(19) > TINTEGER004(7)) TINTEGER004(19) = TINTEGER004(7)
TSTRING024(3) = ReplaceStr(TSTRING025(3), "@COBS19@", String(TINTEGER004(19)))
EndProc
;------------------------------------------------------------------------------
Procedure PROC011()
If (FileInf(PPEPath() + PPEName() + ".PPE", 4) <> 21454) PROC001(0)
EndProc
;------------------------------------------------------------------------------
Procedure PROC012()
TINTEGER004(20) = TINTEGER004(16)
If (TINTEGER004(16) > TINTEGER004(4) - TINTEGER004(10)) TINTEGER004(20) = TINTEGER004(4) - TINTEGER004(10)
If (TINTEGER004(5) <> 0) Then
If (INTEGER006 == INTEGER009) Then
If (TINTEGER004(20) > TINTEGER004(5) - TINTEGER004(11)) TINTEGER004(20) = TINTEGER004(5) - TINTEGER004(11) + TINTEGER004(12)
Goto LABEL024
Endif
If (TINTEGER004(20) > TINTEGER004(5)) TINTEGER004(20) = TINTEGER004(5) + TINTEGER004(12)
Endif
:LABEL024
If (TINTEGER004(20) + TINTEGER004(10) > TINTEGER004(4)) TINTEGER004(20) = TINTEGER004(4) - TINTEGER004(10)
TSTRING024(5) = ReplaceStr(TSTRING025(5), "@COBS20@", String(TINTEGER004(20)))
EndProc
;------------------------------------------------------------------------------
Procedure PROC013()
TINTEGER004(21) = TINTEGER004(10)
If (TINTEGER004(6) <> 0) Then
If (INTEGER008 == INTEGER009) Then
If (TINTEGER004(21) > TINTEGER004(6) - TINTEGER004(12)) TINTEGER004(21) = TINTEGER004(6) - TINTEGER004(12) + TINTEGER004(11)
Goto LABEL025
Endif
If (TINTEGER004(21) > TINTEGER004(6)) TINTEGER004(21) = TINTEGER004(6) + TINTEGER004(11)
Endif
:LABEL025
If (TINTEGER004(21) > TINTEGER004(10)) TINTEGER004(21) = TINTEGER004(10)
TSTRING024(6) = ReplaceStr(TSTRING025(6), "@COBS21@", String(TINTEGER004(21)))
EndProc
;------------------------------------------------------------------------------
Procedure PROC001(Boolean BOOLEAN001)
If (BOOLEAN001) PROC002()
Log STRING027 + Left(Time(), 5) + " / " + String(MinLeft()) + " / " + String(TINTEGER004(16)) + "]", 0
End
EndProc
;------------------------------------------------------------------------------
Procedure PROC004()
If (Crc32(0, STRING002 + " " + STRING003) <> 89652688) PROC001(0)
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
U_Notes(INTEGER003 - 1) = "MS[" + Right(String(TINTEGER004(7)), 3) + "|" + Right(String(INTEGER005), 5) + "|" + Right(String(TINTEGER004(8)), 3) + "|" + Right(String(INTEGER007), 5) + "|" + Right(String(TINTEGER004(9)), 3) + "|" + Right(String(TINTEGER004(10)), 6) + "|" + Right(String(INTEGER006), 5) + "|" + Right(String(TINTEGER004(11)), 6) + "|" + Right(String(INTEGER008), 5) + "|" + Right(String(TINTEGER004(12)), 6) + "]"
PutUser
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
FOpen 3, STRING008, 0, 0
FGet 3, STRING009
If (STRING009 <> "") TSTRING024(1) = STRING009
FGet 3, STRING009
If (STRING009 <> "") Then
TSTRING019(1) = Upper(Left(STRING009, InStr(STRING009, ",") - 1))
TSTRING025(2) = Right(STRING009, Len(STRING009) - InStr(STRING009, ","))
Endif
FGet 3, STRING009
If (STRING009 <> "") Then
TSTRING019(2) = Upper(Left(STRING009, InStr(STRING009, ",") - 1))
TSTRING025(3) = Right(STRING009, Len(STRING009) - InStr(STRING009, ","))
Endif
FGet 3, STRING009
If (STRING009 <> "") Then
TSTRING019(3) = Upper(Left(STRING009, InStr(STRING009, ",") - 1))
TSTRING025(4) = Right(STRING009, Len(STRING009) - InStr(STRING009, ","))
Endif
FGet 3, STRING009
If (STRING009 <> "") Then
TSTRING019(4) = Upper(Left(STRING009, InStr(STRING009, ",") - 1))
TSTRING025(5) = Right(STRING009, Len(STRING009) - InStr(STRING009, ","))
Endif
FGet 3, STRING009
If (STRING009 <> "") Then
TSTRING019(5) = Upper(Left(STRING009, InStr(STRING009, ",") - 1))
TSTRING025(6) = Right(STRING009, Len(STRING009) - InStr(STRING009, ","))
Endif
FGet 3, STRING009
If (STRING009 <> "") Then
TSTRING019(6) = Upper(Left(STRING009, InStr(STRING009, ",") - 1))
TSTRING025(7) = Right(STRING009, Len(STRING009) - InStr(STRING009, ","))
Endif
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(1) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(2) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(3) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(4) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(5) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(6) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(7) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(8) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(9) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(10) = STRING009
FGet 3, STRING009
If (STRING009 <> "") TSTRING026(11) = STRING009
FClose 3
EndProc
;------------------------------------------------------------------------------
Procedure PROC006()
Print TSTRING026(2)
Delay INTEGER002
Backup 80
ClrEol
EndProc
;------------------------------------------------------------------------------
Procedure PROC007()
Print TSTRING026(1)
Delay INTEGER002
Backup 80
ClrEol
EndProc
;------------------------------------------------------------------------------
Procedure PROC008()
Log STRING027 + "T-D: " + String(STRING016) + "]", 0
Print TSTRING026(4)
AdjTime -STRING016
TINTEGER004(17) = RTrim(Left(MinLeft(), 3), " ")
TINTEGER004(7) = TINTEGER004(7) + STRING016
If (INTEGER005 == INTEGER009) Then
TINTEGER004(8) = TINTEGER004(8) + STRING016
Else
INTEGER005 = INTEGER009
TINTEGER004(8) = STRING016
Endif
If (INTEGER007 == INTEGER009) Then
TINTEGER004(8) = TINTEGER004(8) - TINTEGER004(9)
If (TINTEGER004(8) < 0) TINTEGER004(8) = 0
Endif
If (TINTEGER004(9) - STRING016 < 0) Then
TINTEGER004(9) = 0
Else
TINTEGER004(9) = TINTEGER004(9) - STRING016
Endif
If ((TSTRING020(7) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(7), TSTRING021(7)
Color TSTRING023(7)
Print Left(TINTEGER004(7), 3)
Endif
If ((TSTRING020(8) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(8), TSTRING021(8)
Color TSTRING023(8)
Print Left(TINTEGER004(8), 3)
Endif
If ((TSTRING020(9) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(9), TSTRING021(9)
Color TSTRING023(9)
Print Left(TINTEGER004(9), 3)
Endif
If ((TSTRING020(17) <> "") && AnsiOn()) Then
AnsiPos TSTRING020(17), TSTRING021(17)
Color TSTRING023(17)
Print Left(TINTEGER004(17), 3)
Endif
AnsiPos 1, STRING022
Delay INTEGER002
DefColor
ClrEol
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 2 Cls
; 21 ClrEol
; 18 Color
; 192 Goto
; 233 Let
; 45 Print
; 20 PrintLn
; 146 If
; 1 DispFile
; 4 FOpen
; 5 FClose
; 23 FGet
; 1 GetUser
; 2 PutUser
; 7 DefColor
; 4 AdjTime
; 12 Log
; 7 InputStr
; 10 Gosub
; 5 Return
; 21 Delay
; 7 Newline
; 24 AnsiPos
; 15 Backup
; 4 AdjDBytes
; 13 EndProc
;
;
; ■ Functions used :
;
; 5 -
; 4 *
; 1 /
; 232 +
; 80 -
; 46 ==
; 59 <>
; 20 <
; 3 <=
; 42 >
; 6 >=
; 94 !
; 38 &&
; 23 ||
; 32 Len(
; 6 Upper()
; 67 Left()
; 44 Right()
; 2 Space()
; 3 Ferr()
; 41 Chr()
; 38 InStr()
; 6 LTrim()
; 3 RTrim()
; 2 Random()
; 1 Date()
; 2 Time()
; 1 U_BdlDay()
; 62 String()
; 6 Mask_Num()
; 1 PCBDat()
; 5 PPEPath()
; 1 ReadLine()
; 14 MinLeft()
; 4 Exist()
; 18 AnsiOn()
; 2 GetX()
; 3 GetY()
; 1 Psa()
; 1 FileInf()
; 1 PPEName()
; 2 CurColor()
; 8 ReplaceStr()
; 2 EvtTimeAdj()
; 1 Crc32()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WAad
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; A - Adjust online time remaining ■ 5
; Program modify the amount of online time remaining, this may
; be a way to bypass time limits
; ■ Search for : ADJTIME
;
; a - Adjust ratio ■ 4
; User's ratio is adjusted by changing the amount of files/bytes
; uploaded. This may be normal for a user editor.
; ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 1 While/EndWhile
; 78 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------